/**
 * 第12章 Spring的事务管理难点剖析
 * 代码清单-r5ch12f-417页a：直接从数据源（JdbcTemplate）获取连接，后续程序没有显式释放该连接 {@link top.kaoshanji.r5ch12f.JdbcUserServiceV1#logon(java.lang.String)}
 * 代码清单-r5ch12f-422页a：使用DataSourceUtils获取数据连接 {@link top.kaoshanji.r5ch12f.JdbcUserServiceV2#logon(java.lang.String)}
 * 代码清单-r5ch12f-01：这个版本不启用事务-r5ch12f/application-context-v3.xml
 * 代码清单-r5ch12f-423页a：显式使用DataSourceUtils释放连接 {@link top.kaoshanji.r5ch12f.JdbcUserServiceV3#logon(java.lang.String)}
 * 代码清单-r5ch12f-425a：未被代理的数据源-r5ch12f/application-context-v4.xml
 * 代码清单-r5ch12f-425b：对数据源进行代理，使数据源具有事务上下文感知能力-r5ch12f/application-context-v4.xml
 * 代码清单-r5ch12f-02：修改获取数据源的代码 {@link top.kaoshanji.r5ch12f.JdbcUserServiceV4#main(java.lang.String[])}
 * @author kaoshanji
 * ^_^
 * create time 2025/5/11 14:45
 */
package top.kaoshanji.r5ch12f;